home *** CD-ROM | disk | FTP | other *** search
- function wait(time, func, count)
- {
- __tempWaitInterval__ = setInterval(waitHelper,time,func,count);
- }
- function waitHelper(func, count)
- {
- i++;
- if(i - 1 < count)
- {
- func();
- }
- else
- {
- clearInterval(__tempWaitInterval__);
- }
- }
- function Movement()
- {
- var q = null;
- var _interval_alpha = null;
- var _this = this;
- var xspeed = 0;
- var yspeed = 0;
- var xdif = 0;
- var ydif = 0;
- this.stopMove = function()
- {
- delete xspeed;
- delete yspeed;
- delete xdif;
- delete ydif;
- clearInterval(q);
- _this.onStop();
- };
- this.stopMoveNoStop = function()
- {
- delete xspeed;
- delete yspeed;
- delete xdif;
- delete ydif;
- clearInterval(q);
- };
- this.moveBounce = function(x, y, object, speed, bounce)
- {
- q = setInterval(this.moveBouncePhase,41.666666666666664,x,y,object,speed,bounce);
- };
- this.moveOut = function(x, y, object, speed, bounce)
- {
- q = setInterval(this.moveOutPhase,41.666666666666664,x,y,object,speed);
- };
- this.moveBouncePhase = function(targetx, targety, object, a, b)
- {
- with(object)
- {
- xdif = targetx - _x;
- xspeed += xdif / a;
- xspeed *= b;
- _x += xspeed;
- ydif = targety - _y;
- yspeed += ydif / a;
- yspeed *= b;
- _y += yspeed;
- if(Math.abs(xspeed) < 0.52 && Math.abs(yspeed) < 0.52)
- {
- delete xspeed;
- delete yspeed;
- delete xdif;
- delete ydif;
- clearInterval(q);
- _this.onStop();
- }
- }
- };
- this.moveOutPhase = function(targetx, targety, object, a)
- {
- with(object)
- {
- xdif = targetx - _x;
- xspeed = xdif / a;
- _x += xspeed;
- ydif = targety - _y;
- yspeed = ydif / a;
- _y += yspeed;
- if(Math.abs(xspeed) < 0.02 && Math.abs(yspeed) < 0.02)
- {
- delete xspeed;
- delete yspeed;
- delete xdif;
- delete ydif;
- clearInterval(q);
- _this.onStop();
- }
- }
- };
- this.fadeOut = function(tar, gap)
- {
- clearInterval(_interval_alpha);
- _interval_alpha = setInterval(this.fadeOutPhase,41.666666666666664,tar,gap);
- };
- this.fadeOutPhase = function(tar, gap)
- {
- if(tar._alpha > 50 && tar._alpha - gap <= 50)
- {
- _this.onFadedMidpoint();
- }
- tar._alpha -= gap;
- if(tar._alpha - gap <= -10)
- {
- tat._alpha = 0;
- clearInterval(_interval_alpha);
- _this.onFaded();
- }
- };
- this.fadeIn = function(tar, gap)
- {
- clearInterval(_interval_alpha);
- _interval_alpha = setInterval(this.fadeInPhase,41.666666666666664,tar,gap);
- };
- this.fadeInPhase = function(tar, gap)
- {
- if(tar._alpha < 50 && tar._alpha + gap >= 50)
- {
- _this.onFadeinMidpoint();
- }
- tar._alpha += gap;
- if(tar._alpha + gap >= 110)
- {
- tat._alpha = 100;
- clearInterval(_interval_alpha);
- }
- };
- this.stopFade = function()
- {
- clearInterval(_interval_alpha);
- };
- }
- function UpdateIMAlert()
- {
- strParsedArray = ParseNewIMXML(_level0.strIMAlert);
- if(strParsedArray.length > 1)
- {
- UpdateAlert(strParsedArray[0],strParsedArray[1]);
- }
- }
- function UpdateKnockAlert()
- {
- if(_level0.strKnockFlags == 0)
- {
- _level0.IMMessage_str = _level0.strKnockAlert;
- if(_level0.mcIMAlert.IMMessage_txt.textWidth > _level0.mcIMAlert.IMMessage_txt._width)
- {
- _level0.IMMessage_str += "...";
- while(_level0.IMMessage_str.length > 0 && mcIMAlert.IMMessage_txt.textWidth > mcIMAlert.IMMessage_txt._width)
- {
- _level0.IMMessage_str = _level0.IMMessage_str.substr(0,_level0.IMMessage_str.length - 4) + "...";
- }
- strKnockSN = _level0.IMMessage_str;
- }
- else
- {
- strKnockSN = _level0.strKnockAlert;
- }
- }
- else
- {
- strKnockSN = STR_KNOCKKNOCK_NOUSER;
- }
- var strKnockTitle = STR_KNOCKKNOCK_TITLE;
- var nPoundIndex = STR_KNOCKKNOCK_TITLE.indexOf("#");
- if(nPoundIndex < STR_KNOCKKNOCK_TITLE.length)
- {
- strKnockTitle = STR_KNOCKKNOCK_TITLE.substr(0,nPoundIndex) + _level0.nKnockIndex + STR_KNOCKKNOCK_TITLE.substr(nPoundIndex + 1,STR_KNOCKKNOCK_TITLE.length - nPoundIndex);
- }
- UpdateAlert(strKnockTitle,strKnockSN + " " + STR_KNOCKKNOCK_DEFAULTMSG);
- }
- function ParseNewIMXML(strIMXML)
- {
- strParsedArray = new Array();
- lastIMXml = new XML();
- lastIMXml.ignoreWhite = true;
- lastIMXml.parseXML(strIMXML);
- listNode = lastIMXml.firstChild;
- if(listNode.nodeName == "im")
- {
- strScreenName = "";
- strWaiting = "";
- strMessage = "";
- nIMCounter = 0;
- while(nIMCounter < listNode.childNodes.length)
- {
- itemNode = listNode.childNodes[nIMCounter];
- if(itemNode.nodeName == "sender")
- {
- textNode = itemNode.firstChild;
- strScreenName = textNode.nodeValue;
- }
- else if(itemNode.nodeName == "waiting")
- {
- textNode = itemNode.firstChild;
- if(textNode.nodeValue == "yes")
- {
- strWaiting = "yes";
- }
- }
- else if(itemNode.nodeName == "message")
- {
- textNode = itemNode.firstChild;
- strMessage = textNode.nodeValue;
- }
- nIMCounter++;
- }
- strParsedArray = new Array(strScreenName,strMessage);
- }
- return strParsedArray;
- }
- function nextCRLF(strSearchString, nStartIndex)
- {
- nNextCRLF = -1;
- nReturnIndex = strSearchString.indexOf("\r",nStartIndex);
- nNewLineIndex = strSearchString.indexOf("\n",nStartIndex);
- if(nReturnIndex > -1)
- {
- if(nNewLineIndex > -1)
- {
- nNextCRLF = Math.min(nReturnIndex,nNewLineIndex);
- }
- else
- {
- nNextCRLF = nReturnIndex;
- }
- }
- else
- {
- nNextCRLF = nNewLineIndex;
- }
- return nNextCRLF;
- }
- function prevWhitespace(strSearchString, nStartIndex, bExcludeCRLF)
- {
- nPrevWhitespace = -1;
- if(nStartIndex >= strSearchString.length)
- {
- nStartIndex = strSearchString.length;
- }
- if(bExcludeCRLF)
- {
- arrayOfWhitespace = new Array(" ","\t");
- }
- else
- {
- arrayOfWhitespace = new Array(" ","\r","\n","\t");
- }
- i = 0;
- while(i < arrayOfWhitespace.length)
- {
- strSearchChar = arrayOfWhitespace[i];
- nIndexChar = strSearchString.lastIndexOf(strSearchChar,nStartIndex);
- if(nIndexChar > -1)
- {
- if(nPrevWhitespace == -1)
- {
- nPrevWhitespace = nIndexChar;
- }
- else if(nIndexChar < nPrevWhitespace)
- {
- nPrevWhitespace = nIndexChar;
- }
- }
- i++;
- }
- return nPrevWhitespace;
- }
- function StringFitsInField(strSomeString, txtSomeTextField)
- {
- var bResult = false;
- txtSomeTextField.text = strSomeString;
- trace("[" + strSomeString + "] txtSomeTextField.textWidth=" + txtSomeTextField.textWidth + "|txtSomeTextField._width=" + txtSomeTextField._width);
- if(txtSomeTextField._width > txtSomeTextField.textWidth)
- {
- bResult = true;
- }
- return bResult;
- }
- function UpdateAlert(strScreenName, strNewText)
- {
- clearInterval(closureTimer);
- closureTimer = setInterval(CloseAlert,1000 * nPreferredDuration);
- fademovement.stopFade();
- mcIMAlert._alpha = 100;
- mcIMAlert.IMMessage_txt._visible = true;
- _level0.ScreenName_str = strScreenName;
- if(mcIMAlert.ScreenName_txt.textWidth > mcIMAlert.ScreenName_txt._width)
- {
- _level0.ScreenName_str += "...";
- while(_level0.ScreenName_str.length > 0 && mcIMAlert.ScreenName_txt.textWidth > mcIMAlert.ScreenName_txt._width)
- {
- _level0.ScreenName_str = _level0.ScreenName_str.substr(0,_level0.ScreenName_str.length - 4) + "...";
- }
- }
- var nLineCount = 0;
- var nParseIndex = 0;
- var strMessage = "";
- while(nLineCount < INT_IMALERT_MAXLINES && nParseIndex < strNewText.length)
- {
- var nReturnIndex = nextCRLF(strNewText,nParseIndex);
- var strTextUpToReturn = strNewText.substr(nParseIndex,nReturnIndex - nParseIndex);
- if(nReturnIndex >= nParseIndex && StringFitsInField(strTextUpToReturn,_level0.mcIMAlert.IMMessage_txt))
- {
- strMessage += strTextUpToReturn + "\r";
- nParseIndex = nReturnIndex + 1;
- }
- else
- {
- var strTextRemaining = strNewText.substr(nParseIndex,strNewText.length - nParseIndex);
- if(StringFitsInField(strTextRemaining,_level0.mcIMAlert.IMMessage_txt))
- {
- strMessage += strTextRemaining;
- nParseIndex = strNewText.length;
- }
- else
- {
- var nSpaceIndex = -1;
- var nBreakIndex = nParseIndex + 1;
- var strTextUpToBreak = strNewText.substr(nParseIndex,nBreakIndex - nParseIndex);
- while(nBreakIndex < strNewText.length && StringFitsInField(strTextUpToBreak,_level0.mcIMAlert.IMMessage_txt))
- {
- cBreakCharacter = strNewText.charAt(nBreakIndex);
- if(cBreakCharacter == " " || cBreakCharacter == "\t")
- {
- nSpaceIndex = nBreakIndex;
- }
- nBreakIndex++;
- strTextUpToBreak = strNewText.substr(nParseIndex,nBreakIndex - nParseIndex);
- }
- if(nBreakIndex - 1 > nParseIndex && nBreakIndex < strNewText.length)
- {
- var nFinalBreakIndex = nBreakIndex - 1;
- if(nSpaceIndex > -1)
- {
- nFinalBreakIndex = nSpaceIndex;
- }
- strMessage += strNewText.substr(nParseIndex,nFinalBreakIndex - nParseIndex) + "\r";
- nParseIndex = nFinalBreakIndex;
- if(nSpaceIndex > -1)
- {
- nParseIndex++;
- }
- }
- }
- }
- nLineCount++;
- }
- if(nParseIndex < strNewText.length)
- {
- strMessage = strMessage.substr(0,strMessage.length - 3) + "...";
- }
- _level0.IMMessage_str = strMessage;
- }
- function CloseAlert()
- {
- clearInterval(closureTimer);
- fademovement = new Movement();
- fademovement.fadeOut(mcIMAlert,INT_IMALERT_FADESPEED);
- fademovement.onFadedMidpoint = function()
- {
- mcIMAlert.IMMessage_txt._visible = false;
- };
- fademovement.onFaded = function()
- {
- fscommand("close");
- };
- }
- STR_IMALERT_OPENIM = "Open IM";
- STR_KNOCKKNOCK_TITLE = "Knock Knock #!";
- STR_KNOCKKNOCK_DEFAULTMSG = "sent you a message from outside the AOL Service.";
- STR_KNOCKKNOCK_NOUSER = "An Internet User";
- INT_IMALERT_DURATION = 4;
- INT_IMALERT_MAXLINES = 3;
- INT_IMALERT_FADESPEED = 10;
- mcIMAlert._alpha = 0;
- fademovement = new Movement();
- fademovement.fadeIn(mcIMAlert,INT_IMALERT_FADESPEED);
- fademovement.onFadeinMidpoint = function()
- {
- mcIMAlert.IMMessage_txt._visible = true;
- };
- fademovement.onFaded = function()
- {
- mcIMAlert._alpha = 100;
- };
- nPreferredDuration = INT_IMALERT_DURATION;
- closureTimer = setInterval(CloseAlert,1000 * nPreferredDuration);
- _level0.OpenIMButtonText = STR_IMALERT_OPENIM;
- mcIMAlert.OpenIM_btn.onRelease = function()
- {
- fscommand("GoToIMForSN",ScreenName_str);
- fscommand("close");
- };
- mcIMAlert.OpenIM_btn.onKeyDown = function()
- {
- if(Key.getCode() == 13 || Key.getCode() == 32)
- {
- mcIMAlert.OpenIM_btn.onRelease();
- }
- };
- stop();
-